1. Field of the Invention
The present invention relates to archiving of data, and more particularly, to fast archiving of file data in virtual environment.
2. Description of the Related Art
Currently, there are a number of conventional methods that relate to organization of data archiving. One of these methods is a backup of the entire hard drive, which typically involves copying of the hard drive content onto some other medium, such as another hard disk drive, a DVD ROM, a DVD RAM, a flash disk, etc. The primary disadvantage of such method is the need to backup a very large amount of data.
Furthermore, in terms of virtualization the situation becomes complicated. When a file is created on a virtual disk of a Virtual Environment (VE)—a container or a Virtual Machine, the file data is stored on a real disk of a host system. A driver of the virtual disk defines correspondence between the file blocks and blocks (or clusters) of the virtual disk space. When the file is deleted, the virtual space within the VE is freed up. However, the correspondence between the virtual blocks and the real blocks is maintained, because the file is deleted from the Guest OS by standard means (for example, by deleting file records from a Guest file system table).
System resources are always limited, and freeing up real disk space from blocks occupied by the empty blocks of the Guest file system become critical. However, some of the empty blocks are not mapped in the host file system. Thus, all empty blocks of the guest file system have to be scanned in order to determine and terminate their links to the real blocks. This process overloads computation capacities of the host system where the VE runs.
A solution to the above describe problem is partially addressed by the “fallocate” function (also available in MS WINDOWS™ 2000 and later). The “fallocate” operation allows applications to ask the system kernel for a continuous space in the file system in order to avoid fragmentation. However, the “fallocate” system operation is not effective in many instances, because the operation has to be executed at the file system level.
Accordingly, there is a need in the art for an effective and efficient method of archiving file data in a virtual environment that reduces the virtual drive space.